// pages/release_news/index.js
import http from '../../utils/api' // 引入api接口管理文件
import common from '../../utils/util' // 引入api接口管理文件

const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    imgsp:['图片','视频'],
    items:[
      {name:'是',value:1,checked: false},
      {name:'否',value:2,checked: true}
    ],
    uploaderList: [],
    image:[],
    push:2, // 默认不推送
    type: 0, // 文件类型
    uploaderNum:0,
    showUpload:true,
    video : '',
    video_url:'',
  },

  /**
   * 是否推送
   */
  changePush:function(e){
      let value = e.detail.value;
      this.setData({
        push:value
      })
  },

  // 提交数据
  btn_fabiao:function(){
    // 提交动态数据
    let that = this.data;
    let image = that.image.join('|');  // 图片数组处理
    let param = {push:that.push,cate_id:that.cate_id,title:that.title,content:that.content,image:image,video:that.video_url,type:that.type};
    // console.log(param);return;
    http.news_create({  // 请求添加接口
      data:param,
      success:res=>{
        // console.log('res',res);
        app.tip(res.info);
        if(res.code == 1){
          setTimeout(function () {
            //要延时执行的代码
            wx.navigateTo({
              url: '../dynamic_details/index?news_id='+res.data,
            })
          }, 1500) //延迟时间
        }
        
      },
      fail:err=>{
        console.log(err)
      }
    })
  },

  /**
   * 栏目改变
   * @param {*} e 
   */
  bindPickerChange: function(e) {
    let index =  e.detail.value;
    // 顶级栏目改变 赋值子板块数组
    this.setData({
      index: index,
      sub_lanmu: this.data.lanmu[index]['sub']
    })
  },
  
  /**
   * 子栏目改变
   * @param {*} e 
   */
  bindPickerSubChange: function(e) {
    let index =  e.detail.value;
    // 顶级栏目改变 赋值子板块数组
    this.setData({
      sub_index: index,
      cate_id: this.data.sub_lanmu[index]['id']
    })
  },

  upload_ts:function(e){
    // console.log('picker发送选择改变，携带值为', e.detail.value)
    this.setData({
      index: e.detail.value
    })
  },
  // 获取标题
  getTitle:function(e){
    this.setData({
      title:e.detail.value
    })
  },
  // // 获取描述
  // getDes:function(e){
  //   this.setData({
  //     description:e.detail.value
  //   })  },
  // 获取内容
  getContent:function(e){
    this.setData({
      content:e.detail.value
    })  },

  // 删除图片
  clearImg:function(e){
    var nowList = [];//新数据
    var uploaderList = this.data.uploaderList;//原数据
    var nowImage = [];
    var image = this.data.image;
    for (let i = 0; i < uploaderList.length;i++){
        if (i == e.currentTarget.dataset.index){
            continue;
        }else{
            nowList.push(uploaderList[i])
            nowImage.push(image[i]);
        }
    }
    this.setData({
        uploaderNum: this.data.uploaderNum - 1,
        uploaderList: nowList,
        image:nowImage,
        showUpload: true
    })
},
//展示图片
showImg:function(e){
    var that=this;
    wx.previewImage({
        urls: that.data.uploaderList,
        current: that.data.uploaderList[e.currentTarget.dataset.index]
    })
},

// 上传图片
upload:function(){
  var that=this
  let uploaderList = that.data.uploaderList;
  if(uploaderList.length==0){
    wx.showActionSheet({
      itemList: ['视频','图片'],
      success (res) {
        if(res.tapIndex==0){
          that.chooseVideo()
        }else{
          that.chooseImage()
        }
      }
    })
  }else{
    that.chooseImage()
  }
},
//上传图片
chooseImage() {
    var that = this;
    wx.chooseImage({
        count: 9 - that.data.uploaderNum, // 默认9
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success: function(res) {
            wx.showLoading({title: '正在上传...'}) // 开始上传显示遮罩层
            // console.log('res',res)
            // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
            let tempFilePaths = res.tempFilePaths;
            let uploaderList = that.data.uploaderList.concat(tempFilePaths);
            // 上传到服务器
            let imageArr = [];
            for(let i=0;i<uploaderList.length;i++){
              common.upload(uploaderList[i],function(res){
                if(res.statusCode==200){
                  imageArr.push(JSON.parse(res.data).url);
                }else{
                  app.tip(res.errMsg);return false;
                }
              })
            }
            that.setData({
              image:imageArr,
              type:0, // 上传图片
           })
           wx.hideLoading() // 上传成功关闭遮罩层
            if (uploaderList.length==9){
                that.setData({
                    showUpload:false
                })
            }
            if(uploaderList.length > 9){
              app.tip('最多上传九张图片')
            }
            that.setData({
                uploaderList: uploaderList,
                uploaderNum: uploaderList.length,
            })
        }
    })
},

// 上传视频
chooseVideo() {
  let that = this;
    wx.chooseVideo({
      sourceType: ['album', 'camera'],
      compressed: true,
      maxDuration: 10,
      camera: 'back',
      success: res => {
        wx.showLoading({title: '正在上传...'}) // 开始上传显示遮罩层
        const video = res.tempFilePath;
        // 上传视频到服务器
        common.upload(video,function(res){
          if(res.statusCode==200){
            let video_url = JSON.parse(res.data).url;
            that.setData({
              video_url :video_url,
              type:1, // 上传视频
            })
            wx.hideLoading() // 上传成功关闭遮罩层
          }else{
            app.tip(res.errMsg);return false;
          }
        })
        that.setData({
          video:video,
          showUpload:false
        })
      }
    })
},
// 删除视频
videoDelete(){
  wx.showModal({
    title: '警告',
    content: '确定要删除该视频吗',
    success: res => {
      if (res.confirm) {
        this.setData({
          video: '',
          video_url:'',
          showUpload:true
        })
      }
    }
  })
},
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
      let that = this;
      // 请求栏目板块
      http.getCate({
        data:{type:1}, // 根据账号类型返回不同栏目
        success:res=>{
          // console.log(res);
          if(res.code == 1){ // 成功的情况
            that.setData({
              lanmu:res.data // 顶级分类
          })
          }else{
            app.tip(res.info);
          }
        },
        fail:err=>{
          console.log(err)
        }
      })
      // 在请求是否是官方账号
      http.user_official({
        success:res=>{
          // console.log(res);
          if(res.code == 1){ // 成功的情况
            that.setData({
              official:res.data // 顶级分类
          })
          }else{
            app.tip(res.info);
          }
        },
        fail:err=>{
          console.log(err)
        }
      })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})